Изменения
- Зафиксировать изменения в локальном репозитории
- Отказаться от незафиксированных изменений в рабочем каталоге
- Добавить изменения в индекс
- Удалить изменения из индекса
- Спрятать изменения (stash)
- Сбросить изменения в рабочем каталоге к некоторому коммиту
- Просмотр коммитов
- Вернуть к предыдущему состоянию
Зафиксировать изменения в локальном репозитории (commit)
-
- Зафиксировать из панели «Индексирование Git»

-
- Откройте панель Индексирование Git;
- Нажмите
(Добавить
все файлы в индекс) в контекстном меню поля
Неиндексированные изменения; - Напишите сообщение коммита;
- Нажмите Фиксировать.
Панель Индексирование Git всегда показывает текущее состояние файлов в выбранном репозитории.
При нажатии Фиксировать будут зафиксированы только проиндексированные изменения (те изменения, которые находятся в поле Индексированные изменения). Все неиндексированные изменения останутся нетронутыми в рабочем каталоге. Это позволяет разделить большое количество внесенных изменений на несколько отдельных коммитов, отдельных задач.
- Сообщение коммита

-
Мы рекомендуем придерживаться следующей структуры сообщения:
- Первая строка — заголовок, коротко описывает основной смысл изменений;
- Пустая строка;
- Тело сообщения — содержит подробное описание изменений. Одна или несколько строк. Тело может отсутствовать, если достаточно заголовка;
- Пустая строка;
- Дополнительные теги, специфичные для данного проекта или для дополнительных систем анализа кода, с которыми осуществляется совместная работа.
Например, коммит может выглядеть следующим образом:Заголовок коммита Изменение 1 Изменение 2 Изменение 3 Change-Id: I0000000000000000000000000000000000000000 Signed-off-by: admin <admin@example.com>- Change-Id: — используется для взаимодействия с Gerrit Code Review;
- Signed-off-by: — используется разными системами управления проектами.
Для автоматического добавления тегов используйте переключатели
(Добавить Change-Id) и
(Добавить Signed-off-by) в командной панели поля Сообщение коммита.
- Зафиксировать из панели «Индексирование Git»
Отказаться от незафиксированных изменений в рабочем каталоге
Например, все изменения в рабочем каталоге зафиксированы. Вы что-то изменили, но потом решили отказаться от этих изменений. Как вернуть рабочий каталог в состояние, которое было до внесения изменений?
О том, что файлы в рабочем каталоге изменены, говорит угловая кавычка слева от имени проекта, например:
![]()
- Откройте панель Индексирование Git;
- Нажмите
(Hide Untracked Files)
в командной панели поля Неиндексированные изменения,
чтобы остались только файлы, находящиеся под версионным контролем; - Нажмите Ctrl+A, чтобы выделить все файлы;
- Нажмите Заменить на HEAD-ревизию;
- Еще раз нажмите
(Hide Untracked Files) в командной панели поля Неиндексированные
изменения; - Нажмите Ctrl+A, чтобы выделить все файлы;
- Нажмите Удалить в контекстном меню.
После этого проект вернется в исходное состояние: поля панели Индексирование Git очистятся, угловая кавычка слева от имени проекта исчезнет.
Есть и другие способы сделать то же самое, однако если вы добавляли новые файлы, то после выполнения описанных ниже действий, их все равно нужно удалить через панель Индексирование Git:
-
- В панели «Навигатор»

-
- Откройте панель Навигатор;
- Нажмите в контекстном меню проекта;
- Выберите ссылку HEAD или текущую ветку;
- Установите переключатель Жестко-hard (HEAD, индекс и рабочий каталог);
- Нажмите Сброс.
- В панели «История»

-
- Откройте панель История;
- Нажмите в контекстном меню коммита, отмеченного ссылкой HEAD.
- В панели «Репозитории Git»

-
- Откройте панель Репозитории Git;
- Нажмите в контекстном меню текущей ветки.
- В панели «Навигатор»
Добавить изменения в индекс (Add)
- В панели Индексирование Git:
- Перетащите файл из поля Неиндексированные изменения в поле Индексированные изменения;
- Выделите файл в поле Неиндексированные изменения и нажмите
(Добавить выбранные файлы в
индекс) в командной панели или нажмите Добавить в индекс в контекстном меню файла; - Чтобы индексировать все файлы, нажмите
(Добавить
все файлы в индекс) в командной панели.
- В панели Навигатор нажмите в контекстном меню проекта;
- В панели Репозитории Git нажмите Добавить в индекс в контекстном меню рабочего каталога.
Удалить изменения из индекса (rm)
Есть несколько способов удалить изменения из индекса:- В панели Индексирование
Git:
- Перетащите файл из поля Индексированные изменения в поле Неиндексированные изменения;
- Выделите файл в поле Неиндексированные изменения и нажмите
(Убрать выбранные
файлы из индекса) в командной панели или нажмите Удалить из индекса
- в контекстном меню файла;
- Чтобы удалить из индекса все файлы, нажмите
(Убрать все файлы из индекса) в командной панели.
- В панели Навигатор нажмите .
Спрятать изменения (stash)
Бывает так, что пока вы работаете над своей задачей в ветке feature, например, вам приходит задание срочно исправить небольшую ошибку. Вы можете сделать это в ветке master, пытаетесь переключиться на нее, но получаете сообщение, что сделать это невозможно. В рабочем каталоге у вас есть незафиксированные изменения.
Отказываться от этих изменений совсем нельзя, фиксировать работу, сделанную наполовину тоже не хочется. Что делать?
В этом случае вам поможет припрятывание изменений. Эта операция берет ваши измененные файлы из рабочего каталога, берет проиндексированные изменения, и сохраняет их в хранилище незавершенных изменений. Затем вы можете переключиться на другую ветку и выполнить срочную работу, например. После этого, чтобы вернуться к прерванной задаче, можно применить обратно незавершенные изменения и продолжить работу.
-
- Спрятать изменения

-
Есть несколько способов спрятать изменения:
- Заранее. В панели Навигатор нажмите в контекстном меню проекта;
- Во время извлечения новой ветки. Нажмите Спрятать... в диалоге незафиксированных изменений.
Назначение полей:- Введите сообщение (не обязательно) — любое сообщение, которое поможет вам идентифицировать спрятанные изменения;
- Включить неотслеживаемые файлы — стандартно 1C:EDT прячет только измененные и проиндексированные отслеживаемые файлы. Если вы хотите спрятать и неотслеживаемые файлы, которые вы создали, установите этот флажок.
Если вы прятали изменения заранее, то рабочий каталог будет очищен от изменений и вы можете переключиться на другую ветку.
Если вы прятали изменения во время переключения на другую ветку, то после завершения всех операций другая ветка будет извлечена и вы сможете начать работу в ней.
- Вернуть изменения, отложенные ранее

-
- Переключитесь на ветку, изменения которой вы отложили;
- В панели Навигатор нажмите в контекстном меню проекта. 1С:EDT откроет панель просмотра отложенного коммита;
- Нажмите
(Применить накопленные изменения) в командной панели этой панели. Сохраненные изменения
будут возвращены в рабочий каталог; - Закройте панель просмотра отложенного коммита и продолжите работу над отложенной задачей.
- Удалить спрятанные изменения

-
- В панели Навигатор нажмите в контекстном меню проекта. 1С:EDT откроет панель просмотра отложенного коммита;
- Нажмите
(Удалить
накопленные изменения) в командной панели этой панели.
- Спрятать изменения
Сбросить изменения в рабочем каталоге к некоторому коммиту (reset)
Можно сбросить рабочий каталог к состоянию, которое он имел на момент некоторого коммита, ветки или метки.
-
- Сбросить на коммит

-
- Откройте панель История;
- Найдите нужный коммит;
- Нажмите в контекстом меню Сброс (reset), а затем выберите нужный способ:
- Мягко-soft (только HEAD) — указатель HEAD будет указывать на этот коммит, а индекс и рабочий каталог останутся без изменений;
- Средне-mixed (HEAD и индекс) — указатель HEAD будет указывать на этот коммит, индекс будет соответствовать этому коммиту, а рабочий каталог останется без изменений;
- Жестко-hard (HEAD, индекс и рабочий каталог) — указатель HEAD будет указывать на этот коммит, индекс и рабочий каталог будут соответствовать этому коммиту;
- Сбросить на ветку или метку

-
- Откройте панель Навигатор
- Нажмите Групповая разработка
Расширенные возможности >
Сбросить (reset)...;
- Выберите нужную ветку или метку;
- Выберите нужный способ:
- Мягко-soft (только HEAD) — указатель HEAD будет указывать на этот коммит, а индекс и рабочий каталог останутся без изменений;
- Средне-mixed (HEAD и индекс) — указатель HEAD будет указывать на этот коммит, индекс будет соответствовать этому коммиту, а рабочий каталог останется без изменений;
- Жестко-hard (HEAD, индекс и рабочий каталог) — указатель HEAD будет указывать на этот коммит, индекс и рабочий каталог будут соответствовать этому коммиту;
- Нажмите Сброс.
- Сбросить на коммит
Просмотр коммитов
Если в списке коммитов вам не хватает информации о них, можно открыть коммит в панели просмотра. Эта панель располагается в области редакторов, содержит подробную информацию о коммите и позволяет выполнить некоторые действия.
Открыть коммит в панели просмотра можно несколькими способами:
- В панели История нажмите Открыть коммит в контекстном меню коммита;
- В панели Репозитории Git нажмите Открыть коммит в контекстном меню ветки или метки;
- В панели Журнал ссылок Git нажмите Открыть коммит в контекстном меню;
- В панели Interactive Rebase нажмите Открыть коммит в контекстном меню;
-
- Командная панель

-
- <имя репозитория> — выделяет в панели Репозитории Git тот репозиторий, которому принадлежит этот коммит;
(Создать метку...) — создает метку;;
(Создать ветку...) — создает новую ветку средствами Git (без связи с информационной
базой);
(Извлечь...) — если выбранный коммит указывает на ветку, то переключает проект
на этот коммит. В противном случае извлекает выбранный коммит в рабочий каталог в
состоянии «отсоединенный
HEAD»;
(Cherry-Pick...) — копирует этот коммит и применяет его после текущего коммита;
(Отменить коммит) — отменяет
изменения, выполненные этим коммитом, путем создания нового коммита;
(Показать в истории) — выделяет этот
коммит в панели История.
- Командная панель
Вернуть к предыдущему состоянию (revert)
Например, вы зафиксировали изменения и через какое-то время поняли, что они вам не подходят. Вы решили пока не включать эту функциональность в ваш продукт.
Можно создать другой коммит, который откатит все изменения, сделанные этим коммитом.
-
- Вернуть к предыдущему состоянию после последнего коммита

-
- Откройте панели История;
- Нажмите Отменить коммит в контекстном меню коммита;
- Нажмите Отменить коммит.
- Вернуть к предыдущему состоянию после коммита слияния

-
Предположим, последним коммитом был коммит слияния. Отмена коммита слияния особенна тем, что у такого коммита есть два родителя, поэтому требуется дополнительно указать, какой родительский коммит принадлежит основной ветке слияния. Той ветке, в которую вливалась другая ветка.
Например, в ветку master вы влили новую функциональность из ветки task. Затем вы решили что пока не нужно включать эту функциональность в master.

У коммита слияния два родителя: 5db23a2 (master) и 53d6cd2 (task). При отмене вам нужно указать на втором шаге коммит 5db23a2 (master).

Результат отмены будет выглядеть следующим образом:
Важно: Имейте в виду, что возвращение к предыдущему состоянию после коммита слияния фактически означает то, что изменения, которые были во вливаемой ветке task, больше не попадут в основную ветку master. Если впоследствии вы внесете изменения в task и захотите снова влить эту ветку в master, то вольются только те изменения, которые были выполнены в task после «отмены» коммита слияния.
- Вернуть к предыдущему состоянию после одного из предыдущих коммитов
-
Если операцию возвращения к предыдущему состоянию вы применяете к коммиту, который не является последним, то в этом случае возможны конфликты, которые нужно разрешить вручную.

Например, вы добавили справочник Запасы, который потом переименовали в Припасы, а в итоге он получил имя Ресурсы. Теперь вы хотите вернуть предыдущее состояние перед коммитом c37ec84 Запасы —> Припасы. В результате вы получите конфликт.

С одной стороны, из-за отмены коммита, вроде бы должно вернуться прежнее название, Запасы. Но с другой стороны оно уже было впоследствии изменено на Ресурсы. Какое из двух имен выбрать, вам необходимо решить вручную.
- Вернуть к предыдущему состоянию после последнего коммита